The traveling purchaser problem (TPP) is an NP-hard problem studied in theoretical computer science. Given a list of market-places, their distances and the cost of the available articles, the task is to find a route which minimizes the cost for buying a certain set of articles available at differing prices while incorporating the costs of traveling. The traveling salesman problem is a special case of this problem.
The problem can be reduced to the traveling salesman problem if each article is available at one market only and each market sells only one item. Thus it is NP-hard.[1]
Approaches for solving the traveling purchaser problem include dynamic programming[2] and tabu search algorithms.[3]